Color enhancement is one of the most common processing tasks used in digital displays and video equipment. The color enhancement is usually done on digital video data using logic that will be implemented by dedicated hardware on an ASIC. In this environment, a color enhancer should be easy to implement and program, should use as few gates as possible and most importantly should not cause undesirable artifacts in the output picture. Because video enhancements are usually judged by visual inspection and the effect they have on viewers, artifacts refer to visually unpleasant portions in an output picture such as loss of details, contouring etc.
Color enhancements are usually performed on data that is in the YCbCr format because YCbCr is a common format for video transmission and interchange and usually obviates color space conversions. The YCbCr format has the advantage that the color information of a pixel is isolated from the brightness or luminance information. Accordingly, color processing is cleanly defined in YCbCr format and simple to implement as opposed to, for example, data in RGB form.
Conventional color enhancements include the common features of changing brightness, contrast, saturation and hue of the whole picture at one time. In other words, the controls are global across the entire video stream and are independent of pixel color and location. A typical requirement in modern video processing is to selectively adjust different colors in a picture independently of each other. For example, it may be required to make red pixels more yellowish and sky blue pixels more vivid while keeping all other pixels unmodified.
An appreciation of the present invention and its improvements can be obtained by reference to the accompanying drawings, which are briefly summarized below, to the following detailed description of illustrated embodiments of the invention, and to the appended claims.